A ROSE-Based OpenMP 3.0 Research Compiler Supporting Multiple Runtime Libraries

نویسندگان

  • Chunhua Liao
  • Daniel J. Quinlan
  • Thomas Panas
  • Bronis R. de Supinski
چکیده

OpenMP is a popular and evolving programming model for shared-memory platforms. It relies on compilers to target modern hardware architectures for optimal performance. A variety of extensible and robust research compilers are key to OpenMP’s sustainable success in the future. In this paper, we present our efforts to build an OpenMP 3.0 research compiler for C, C++, and Fortran using the ROSE source-tosource compiler framework. Our goal is to support OpenMP research for ourselves and others. We have extended ROSE’s internal representation to handle all OpenMP 3.0 constructs, thus facilitating experimenting with them. Since OpenMP research is often complicated by the tight coupling of the compiler translation and the runtime system, we present a set of rules to define a common OpenMP runtime library (XOMP) on top of multiple runtime libraries. These rules additionally define how to build a set of translations targeting XOMP. Our work demonstrates how to reuse OpenMP translations across different runtime libraries. This work simplifies OpenMP research by decoupling the problematic dependence between the compiler translations and the runtime libraries. We present an evaluation of our work by demonstrating an analysis tool for OpenMP correctness. We also show how XOMP can be defined using both GOMP and Omni. Our comparative performance results against other OpenMP compilers demonstrate that our flexible runtime support does not incur additional overhead.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Portable Support and Exploitation of Nested Parallelism in OpenMP

In this paper, we present an alternative implementation of the NANOS OpenMP runtime library (NthLib) that targets portability and efficient support of multiple levels of parallelism. We have implemented the runtime libraries of available opensource OpenMP compilers on top of NthLib, reducing thus their overheads and providing them with inherent support for nested parallelism. In addition, we pr...

متن کامل

The OMPi OpenMP/C Compiler

We have designed and implemented OMPi, a portable compiler for OpenMP/C. This paper presents an overview of our compiler and its supporting libraries. OMPi is a C-to-C translator that takes C code with OpenMP directives and produces equivalent multithreaded C code ready for execution on a multiprocessor. Our compiler is the only publicly available one that adheres to version 2.0 of the standard...

متن کامل

Early Experiences with the OpenMP Accelerator Model

A recent trend in mainstream computer nodes is the combined use of general-purpose multicore processors and specialized accelerators such as GPUs and DSPs in order to achieve better performance and to reduce power consumption. To support this trend, the OpenMP Language Committee has approved a set of extensions to OpenMP (referred to as the OpenMP accelerator model). The initial version is the ...

متن کامل

Nanos Mercurium: a Research Compiler for OpenMP

OpenMP is still in the process of being defined and extended to broad the range of applications and parallelization strategies it can be used for. The proposal of OpenMP extensions may require the implementation of new features in the runtime system supporting the OpenMP parallel execution and modifications in an existing OpenMP compiler, either at the front end (parsing of new directives and c...

متن کامل

Skeleton driven transformations for an OpenMP compiler

In this paper we present a technique based on code templates, oriented to source to source code transformations for OpenMP parallelization. Our goal is to provide an OpenMP compilation infrastructure that includes a reconfigurable code generation phase, targetting different OpenMP runtime systems or explore different translation strategies for OpenMP constructs. We describe the main OpenMP tran...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2010